A Practical Algorithm for Boolean Matrix Multiplication
نویسندگان
چکیده
Research on fast methods for multiplying two n x n Boolean matrices has followed two directions. On the one hand, there are the asymptotically fast methods derived from algorithms to multiply matrices with integer entries. On the other hand, it has been of interest to devise algorithms which, while inferior in the asymptotic sense, are simple enough to be advantageously implemented. This paper addresses the latter class of algorithms. The first such algorithm (apart from the classical straightforward 0(n3) algorithm) was given in [3] and is known, at least in Western literature, as the Four Russians’ algorithm. It requires 0(n3/log n) time and auxiliary storage of 0(n3/log n) bits; simple modifications can reduce the amount of auxiliary storage to O(n’). More recent work on the problem has focussed on reducing the amount of auxiliary storage [5] and on exploiting properties of the arrays to be multiplied [4,6]. The purpose of this paper is to point out that a rather simple and known technique can be used to derive a Boolean matrix multiplication algorithm which has a lower time complexity and requires less auxiliary storage than the Four Russians’
منابع مشابه
On Diameter Veri cation and Boolean Matrix Multiplication
We present a practical algorithm that veri es whether a graph has diameter 2 in time O n= log n . A slight adaptation of this algorithm yields a boolean matrix multiplication algorithm which runs in the same time bound; thereby allowing us to compute transitive closure and verify that the diameter of a graph is d, for any constant d, in O n= log n time.
متن کاملA New Parallel Matrix Multiplication Method Adapted on Fibonacci Hypercube Structure
The objective of this study was to develop a new optimal parallel algorithm for matrix multiplication which could run on a Fibonacci Hypercube structure. Most of the popular algorithms for parallel matrix multiplication can not run on Fibonacci Hypercube structure, therefore giving a method that can be run on all structures especially Fibonacci Hypercube structure is necessary for parallel matr...
متن کاملFast Context-Free Parsing Requires Fast Boolean Matrix Multiplication
Valiant showed that Boolean matrix multiplication (BMM) can be used for CFG parsing. We prove a dual result: CFG parsers running in time O([Gl[w[ 3-e) on a grammar G and a string w can be used to multiply m x m Boolean matrices in time O(m3-e/3). In the process we also provide a formal definition of parsing motivated by an informal notion due to Lang. Our result establishes one of the first lim...
متن کاملFast Context-Free Parsing Requires Fast Boolean Matrix Multiplication
Valiant showed that Boolean matrix multiplication (BMM) can be used for CFG parsing. We prove a dual result: CFG parsers running in time O([Gl[w[ 3-e) on a grammar G and a string w can be used to multiply m x m Boolean matrices in time O(m3-e/3). In the process we also provide a formal definition of parsing motivated by an informal notion due to Lang. Our result establishes one of the first lim...
متن کاملApplication of CUDA in the Boolean Domain for the Unate Covering Problem
NVIDIA’s Compute Unified Device Architecture (CUDA) is a relatively-recent development that allows to realize very fast algorithms for several Constraint Satisfaction and Computer Aided Design tasks. In this paper we present an approach to use Graphics Processing Units (GPU) and CUDA for solving Unate Covering Problem, a practical problem related to SAT. In particular we present a CUDA-enabled ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Inf. Process. Lett.
دوره 29 شماره
صفحات -
تاریخ انتشار 1988